/**************************************************************************************** 
 Copyright © 2023-2028 hbasesoft Corporation. All rights reserved. Reproduction or     <br>
 transmission in whole or in part, in any form or by any means, electronic, mechanical <br>
 or otherwise, is prohibited without the prior written consent of the copyright owner. <br>
 ****************************************************************************************/

package com.hbasesoft.hamibot.entity;

import com.hbasesoft.framework.db.core.BaseEntity;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Transient;
import lombok.Getter;
import lombok.Setter;

/**
 * <Description> 任务实例的Entity<br>
 * 
 * @author 工具生成<br>
 * @version 1.0<br>
 * @CreateDate 2024-12-21 21:33:53 <br>
 * @since V1.0<br>
 * @see com.hbasesoft.framework.api.bean.BaseEntity <br>
 */
@Getter
@Setter
@Entity(name = "task")
public class TaskEntity extends BaseEntity {

    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Integer id;

    /** 设备id */
    @Column(name = "device_id")
    private String deviceId;

    /** 应用 */
    @Column(name = "app")
    private String app;

    /** 任务名称 */
    @Column(name = "task")
    private String task;

    /** 状态 0-执行中，1-已完成 */
    @Column(name = "state")
    private Integer state;

    /** 流程配置 */
    @Column(name = "content")
    private String content;

    /** 流程状态 */
    @Column(name = "flow_state")
    private String flowState;

    /** 已执行的次数 */
    @Transient
    private int times;

    /** 创建人 */
    @Column(name = "create_by")
    private String createBy;

    /** 创建时间 */
    @Column(name = "create_time")
    private java.util.Date createTime;

    /** 更新人 */
    @Column(name = "update_by")
    private String updateBy;

    /** 更新时间 */
    @Column(name = "update_time")
    private java.util.Date updateTime;

    /** 删除人 */
    @Column(name = "delete_by")
    private String deleteBy;

    /** 删除时间 */
    @Column(name = "delete_time")
    private java.util.Date deleteTime;

    /** 删除标志 0-正常，1-删除 */
    @Column(name = "is_delete")
    private Integer isDelete;

}
